package LogicaNegocio;

import java.io.Serializable;
import java.util.List;
import javax.persistence.*;

@Entity
public class Vehiculo implements Serializable {
    @Id
        private String dominio;
    @Basic
        private int tiempoGarantia;
    @Basic
        private String fechaDeVenta;
    @Basic
        private int numeroMotor;
    @Basic
        private int numeroChasis;
    @Basic
        private float kilometraje;
    @Basic
        private String observaciones;
    @ManyToOne
        private Modelo unModelo;
    @ManyToOne
        private Marca unaMarca;
    @OneToMany
        private List<Anomalia> Anomalias;
    @OneToOne
        private Registro unRegistro;
    @OneToOne
        private Garantia unaGarantia;
    @OneToOne
        private OrdenDeReparacion unaOrdenDeReparacion;
    @ManyToMany
        private List<GrupoConstruccion> GrupoConstruccion;
    @ManyToOne
        private Sucursal unaSucursal;
    @ManyToOne
        private Cliente unCliente;

      public String getDominio() {
            return dominio;
      }

      public void setDominio(String dominio) {
            this.dominio = dominio;
      }

      public int getTiempoGarantia() {
            return tiempoGarantia;
      }

      public void setTiempoGarantia(int tiempoGarantia) {
            this.tiempoGarantia = tiempoGarantia;
      }

      public String getFechaDeVenta() {
            return fechaDeVenta;
      }

      public void setFechaDeVenta(String fechaDeVenta) {
            this.fechaDeVenta = fechaDeVenta;
      }

      public int getNumeroMotor() {
            return numeroMotor;
      }

      public void setNumeroMotor(int numeroMotor) {
            this.numeroMotor = numeroMotor;
      }

      public int getNumeroChasis() {
            return numeroChasis;
      }

      public void setNumeroChasis(int numeroChasis) {
            this.numeroChasis = numeroChasis;
      }

      public float getKilometraje() {
            return kilometraje;
      }

      public void setKilometraje(float kilometraje) {
            this.kilometraje = kilometraje;
      }

      public String getObservaciones() {
            return observaciones;
      }

      public void setObservaciones(String observaciones) {
            this.observaciones = observaciones;
      }

      public Modelo getUnModelo() {
            return unModelo;
      }

      public void setUnModelo(Modelo unModelo) {
            this.unModelo = unModelo;
      }

      public Marca getUnaMarca() {
            return unaMarca;
      }

      public void setUnaMarca(Marca unaMarca) {
            this.unaMarca = unaMarca;
      }

    public List<Anomalia> getAnomalias() {
        return Anomalias;
    }

    public void setAnomalias(List<Anomalia> Anomalias) {
        this.Anomalias = Anomalias;
    }

     

      public Registro getUnRegistro() {
            return unRegistro;
      }

      public void setUnRegistro(Registro unRegistro) {
            this.unRegistro = unRegistro;
      }

      public Garantia getUnaGarantia() {
            return unaGarantia;
      }

      public void setUnaGarantia(Garantia unaGarantia) {
            this.unaGarantia = unaGarantia;
      }

      public OrdenDeReparacion getUnaOrdenDeReparacion() {
            return unaOrdenDeReparacion;
      }

      public void setUnaOrdenDeReparacion(OrdenDeReparacion unaOrdenDeReparacion) {
            this.unaOrdenDeReparacion = unaOrdenDeReparacion;
      }

      public List<GrupoConstruccion> getGrupoConstruccion() {
            return GrupoConstruccion;
      }

      public void setGrupoConstruccion(List<GrupoConstruccion> GrupoConstruccion) {
            this.GrupoConstruccion = GrupoConstruccion;
      }

    public Sucursal getUnaSucursal() {
        return unaSucursal;
    }

    public void setUnaSucursal(Sucursal unaSucursal) {
        this.unaSucursal = unaSucursal;
    }

    public Cliente getUnCliente() {
        return unCliente;
    }

    public void setUnCliente(Cliente unCliente) {
        this.unCliente = unCliente;
    }
      

      public Vehiculo() {
      }

    public Vehiculo(String dominio, int tiempoGarantia, String fechaDeVenta, int numeroMotor, int numeroChasis, float kilometraje, String observaciones, Modelo unModelo, Marca unaMarca, List<Anomalia> Anomalias, Registro unRegistro, Garantia unaGarantia, OrdenDeReparacion unaOrdenDeReparacion, List<GrupoConstruccion> GrupoConstruccion, Sucursal unaSucursal, Cliente unCliente) {
        this.dominio = dominio;
        this.tiempoGarantia = tiempoGarantia;
        this.fechaDeVenta = fechaDeVenta;
        this.numeroMotor = numeroMotor;
        this.numeroChasis = numeroChasis;
        this.kilometraje = kilometraje;
        this.observaciones = observaciones;
        this.unModelo = unModelo;
        this.unaMarca = unaMarca;
        this.Anomalias = Anomalias;
        this.unRegistro = unRegistro;
        this.unaGarantia = unaGarantia;
        this.unaOrdenDeReparacion = unaOrdenDeReparacion;
        this.GrupoConstruccion = GrupoConstruccion;
        this.unaSucursal = unaSucursal;
        this.unCliente = unCliente;
    }

    

    
    
    public void agregarGrupoConstruccion(GrupoConstruccion unGrupoConstruccion){
            this.GrupoConstruccion.add(unGrupoConstruccion);}

}
